package com.indexingsystem.boss.admin.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.indexingsystem.boss.Vo.ResourceTypeSelectVo;
import com.indexingsystem.boss.entity.ResourceType;

public interface ResourceTypeMapper {

	/**
	 * 根据资源类型id删除资源类型.
	 * 
	 * @param resTypeId
	 * @return
	 */
	int deleteByPrimaryKey(String resTypeId);
	
	int deleteResourceTypeByIdBatch(@Param("list") List<String> list);
	/**
	 * 新增资源类型.
	 * 
	 * @param record
	 * @return
	 */
	int insert(ResourceType record);

	/**
	 * 新增资源类型.
	 * 
	 * @param record
	 * @return
	 */
	int insertSelective(ResourceType record);

	/**
	 * 分页查询资源类型列表.
	 * 
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	List<ResourceType> selectResourceTypeList(String queryCriteria);
	
	/**
	 * 弹窗资源类型获取列表.
	 * @return
	 */
	List<ResourceTypeSelectVo> getResourceTypeList();

	/**
	 * 通过资源类型id查询资源类型信息.
	 * 
	 * @param resTypeId
	 * @return
	 */
	ResourceType selectByPrimaryKey(String resTypeId);
	
	
	/**
	 * 通过资源类型名称和英文名查询资源类型是否重复.
	 * @param resourceType
	 * @return
	 */
	ResourceType selectResourceTypeExits(ResourceType resourceType);

	/**
	 * 修改资源类型.
	 * 
	 * @param record
	 * @return
	 */
	int updateByPrimaryKeySelective(ResourceType record);

	/**
	 * 修改资源类型.
	 * 
	 * @param record
	 * @return
	 */
	int updateByPrimaryKey(ResourceType record);

	/**
	 * 获取资源类型总数量.
	 * 
	 * @return
	 */
	Integer getResourceTypeListCount(String queryCriteria);
	
	
	/**
	 * 通过资源类型名称查询资源类型是否重复.
	 * @param name
	 * @return
	 */
	ResourceType selectResourceTypeNameExits(String name);
	
	/**
	 * 通过资源类型英文名查询资源类型是否重复.
	 * @param enName
	 * @return
	 */
	ResourceType selectResourceTypeEnNameExits(String enName);
	
	/**
	 * 通过资源类型资源明细表查询资源类型是否重复.
	 * @param resTable
	 * @return
	 */
	ResourceType selectResourceTypeResTableExits(String resTable);	
	
	
    /**
   * 获取资源类型总列表.
   * @return
   */  
  List<ResourceType> getResourceTypeAllList();
  //查询所有资源分类
  List<ResourceType> selectByAll();
  
}